do allow for invalidated nodes if the tree view is not realized. (#363147,
authorKristian Rietveld <kris@gtk.org>
Fri, 5 Jan 2007 21:34:58 +0000 (21:34 +0000)
committerKristian Rietveld <kristian@src.gnome.org>
Fri, 5 Jan 2007 21:34:58 +0000 (21:34 +0000)
2007-01-05  Kristian Rietveld  <kris@gtk.org>

* gtk/gtktreeview.c (gtk_tree_view_row_changed): do allow for
invalidated nodes if the tree view is not realized. (#363147,
Carlos Garnacho, Miguel Cabrera).

svn path=/trunk/; revision=17089

ChangeLog
gtk/gtktreeview.c

index bf3d17ee91985a07a6576229535d4c7a4d716572..67adf330d5ed1a3a6ed2aa803e77ed04af1a3471 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-01-05  Kristian Rietveld  <kris@gtk.org>
+
+       * gtk/gtktreeview.c (gtk_tree_view_row_changed): do allow for
+       invalidated nodes if the tree view is not realized. (#363147,
+       Carlos Garnacho, Miguel Cabrera).
+
 2007-01-05  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkmenu.c (gtk_menu_paint): Take the scroll arrow into
index 77cccdc2825129817bd3034ff982b0debd41ef1e..ee3dd3367f6fd36732d43ab3b848b97e83fe205c 100644 (file)
@@ -8056,11 +8056,6 @@ gtk_tree_view_row_changed (GtkTreeModel *model,
 
   g_return_if_fail (path != NULL || iter != NULL);
 
-  if (!GTK_WIDGET_REALIZED (tree_view))
-    /* We can just ignore ::changed signals if we aren't realized, as we don't care about sizes
-     */
-    return;
-
   if (tree_view->priv->cursor != NULL)
     cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
   else
@@ -8097,7 +8092,8 @@ gtk_tree_view_row_changed (GtkTreeModel *model,
       && tree_view->priv->fixed_height >= 0)
     {
       _gtk_rbtree_node_set_height (tree, node, tree_view->priv->fixed_height);
-      gtk_tree_view_node_queue_redraw (tree_view, tree, node);
+      if (GTK_WIDGET_REALIZED (tree_view))
+       gtk_tree_view_node_queue_redraw (tree_view, tree, node);
     }
   else
     {
@@ -8118,7 +8114,7 @@ gtk_tree_view_row_changed (GtkTreeModel *model,
     }
 
  done:
-  if (!tree_view->priv->fixed_height_mode)
+  if (GTK_WIDGET_REALIZED (tree_view) && !tree_view->priv->fixed_height_mode)
     install_presize_handler (tree_view);
   if (free_path)
     gtk_tree_path_free (path);